Агрегатные функции

Функция

Определяет значение, получаемое применением функции к набору данных.

Спецификация

     
<​агрегатная функция​>::=
COUNT (*) | функция
<​тип функции​>::=
{AVG| MEDIAN| MAX| MIN| SUM| COUNT| VARIANCE| STDDEV| DEFAULT| EVERY| ANY| SOME}
<​классификатор​>::=
DISTINCT | ALL

Синтаксические правила

  1. Агрегатные функции применяются к таблице (представлению) или группе в сгруппированной таблице (представлении).

  2. <​Значимое выражение​> в <​функции​> может быть именем столбца или выражением.

  3. <​Значимое выражение​> в <​функции​> не должно содержать подзапрос или другую <​функцию​>.

  4. Если <​классификатор​> пропущен, по умолчанию принимается ALL.

    create or replace table tab1 (i int, j real);
    insert into tab1 values (1, 1.3);
    insert into tab1 values (3, 2.55);
    insert into tab1 values (5, 5.45);
    insert into tab1 values (3, 2.55);
    insert into tab1 values (NULL, NULL);
    
    ! Эти запросы эквивалентны:
    select avg(all i), round(avg(all j), 2) from tab1;
    select avg(i), round(avg(j), 2) from tab1;
    
    |3.0         |2.96         |
  5. Операция DISTINCT запрещена для столбца типа BLOB.